from lxml import etree

# 对html信息进行初始化
with open('1.页面.html', 'r', encoding='utf-8') as f:
    html_str = f.read()

# root == js dom对象
root = etree.HTML(html_str)
# xpath提取html中的节点或者数据返回值永远为list

# .  获取当前html节点
# .. 获取当前html节点的父节点
# /  获取当前html节点的子节点
# // 获取当前html节点下所有子孙节点
# text()  获取当前html节点的文本内容
# @属性名  获取当前html节点的属性值
# 精确匹配 [@属性名=属性值]添加筛选条件
# 模糊匹配 [contains(@属性名,部分属性值)] 多类名建议使用模糊匹配

result_list = root.xpath('xpath路径表达式')

print("结果长度：", len(result_list))

for result in result_list:
    # element
    try:
        print(etree.tostring(result, encoding='utf-8').decode('utf-8'))
    except:
        print(result)
